/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.wms.entity;

import com.jeeplus.modules.infor.entity.Goods;
import com.jeeplus.modules.infor.entity.Location;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 库存查询Entity
 * @author sld
 * @version 2017-11-27
 */
public class Inventory extends DataEntity<Inventory> {
	
	private static final long serialVersionUID = 1L;
	private Location location;		// 货位
	private String shipperCode;		// 货主代码
	private String code;		// 物料编码
	private Goods name;		// 物料名称
	private String existingStandard;		// 现有（标准）
	private String usableStandard;		// 可用（标准）
	private String existing;		// 现有
	private String usable;		// 可用
	private String status;		// 状态
	private String allocation;		// 已分配
	private String picking;		// 已拣货
	private String lsPicking;		// 正在拣货
	private String awaitPutaway;		// 等待上架
	private String goodsProperty;		// 货品属性
	private String goodsClassify;		// 货品分类
	private String supplierCode;		// 供应商代码
	private String goodsColour;		// 货品颜色
	private String goodsSize;		// 货品尺码
	private String goodsGroup;		// 货品组
	private String externalNumber;		// 生产日期备注
	private Date data;		// 生产日期
	private String batch;		// 批次
	private String batchProperty;		// 批次备注
	private Date limitedPeriod;		// 有效期至
	private Date inboundDate;		// 入库日期
	private String packaging;		// 包装
	private String inventoryNumber;		// 库存数量
	private String availableQuantity;		// 可用量
	private String projectName;          //项目名称
	private String place;     //产地
	public Inventory() {
		super();
	}

	public Inventory(String id){
		super(id);
	}
	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}
	@ExcelField(title="货位", fieldType=Location.class, value="location.name", align=2, sort=1)
	public Location getLocation() {
		return location;
	}

	public void setLocation(Location location) {
		this.location = location;
	}
	
	@ExcelField(title="货主代码", align=2, sort=15)
	public String getShipperCode() {
		return shipperCode;
	}

	public void setShipperCode(String shipperCode) {
		this.shipperCode = shipperCode;
	}
	
	@ExcelField(title="物料编码", fieldType =String.class ,align=2, sort=3)
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}
	
	@ExcelField(title="物料名称",fieldType=Goods.class, value="name.name", align=2, sort=4)
	public Goods getName() {
		return name;
	}

	public void setName(Goods name) {
		this.name = name;
	}
	@ExcelField(title="库存数量", align=2, sort=5)
	public String getInventoryNumber() {
		return inventoryNumber;
	}
	@ExcelField(title="可用量", align=2, sort=6)
	public String getUsable() {
		return usable;
	}

	public void setUsable(String usable) {
		this.usable = usable;
	}
	@ExcelField(title="冻结数量", align=2, sort=7)
	public String getAllocation() {
		return allocation;
	}

	public void setAllocation(String allocation) {
		this.allocation = allocation;
	}

	@JsonFormat(pattern = "yyyy-MM-dd")
	@ExcelField(title="生产日期", align=2, sort=8)
	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	@ExcelField(title="生产日期备注", align=2, sort=9)
	public String getExternalNumber() {
		return externalNumber;
	}

	public void setExternalNumber(String externalNumber) {
		this.externalNumber = externalNumber;
	}



	@ExcelField(title="批次", align=2, sort=10)
	public String getBatch() {
		return batch;
	}

	public void setBatch(String batch) {
		this.batch = batch;
	}

	@ExcelField(title="批次备注", align=2, sort=11)
	public String getBatchProperty() {
		return batchProperty;
	}

	public void setBatchProperty(String batchProperty) {
		this.batchProperty = batchProperty;
	}
	@ExcelField(title = "产地",align = 2,sort = 12)
	public String getPlace() {
		return place;
	}

	public void setPlace(String place) {
		this.place = place;
	}
	@JsonFormat(pattern = "yyyy-MM-dd")
	@ExcelField(title="入库日期", align=2, sort=13)
	public Date getInboundDate() {
		return inboundDate;
	}

	public void setInboundDate(Date inboundDate) {
		this.inboundDate = inboundDate;
	}

	public void setInventoryNumber(String inventoryNumber) {
		this.inventoryNumber = inventoryNumber;
	}

	public String getExistingStandard() {
		return existingStandard;
	}

	public void setExistingStandard(String existingStandard) {
		this.existingStandard = existingStandard;
	}
	

	public String getUsableStandard() {
		return usableStandard;
	}

	public void setUsableStandard(String usableStandard) {
		this.usableStandard = usableStandard;
	}
	

	public String getExisting() {
		return existing;
	}

	public void setExisting(String existing) {
		this.existing = existing;
	}
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getPicking() {
		return picking;
	}
	public void setPicking(String picking) {
		this.picking = picking;
	}
	public String getLsPicking() {
		return lsPicking;
	}

	public void setLsPicking(String lsPicking) {
		this.lsPicking = lsPicking;
	}
	

	public String getAwaitPutaway() {
		return awaitPutaway;
	}

	public void setAwaitPutaway(String awaitPutaway) {
		this.awaitPutaway = awaitPutaway;
	}
	

	public String getGoodsProperty() {
		return goodsProperty;
	}

	public void setGoodsProperty(String goodsProperty) {
		this.goodsProperty = goodsProperty;
	}
	

	public String getGoodsClassify() {
		return goodsClassify;
	}

	public void setGoodsClassify(String goodsClassify) {
		this.goodsClassify = goodsClassify;
	}
	

	public String getSupplierCode() {
		return supplierCode;
	}

	public void setSupplierCode(String supplierCode) {
		this.supplierCode = supplierCode;
	}
	

	public String getGoodsColour() {
		return goodsColour;
	}

	public void setGoodsColour(String goodsColour) {
		this.goodsColour = goodsColour;
	}
	

	public String getGoodsSize() {
		return goodsSize;
	}

	public void setGoodsSize(String goodsSize) {
		this.goodsSize = goodsSize;
	}
	

	public String getGoodsGroup() {
		return goodsGroup;
	}

	public void setGoodsGroup(String goodsGroup) {
		this.goodsGroup = goodsGroup;
	}
	

	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getLimitedPeriod() {
		return limitedPeriod;
	}

	public void setLimitedPeriod(Date limitedPeriod) {
		this.limitedPeriod = limitedPeriod;
	}


	public String getPackaging() {
		return packaging;
	}

	public void setPackaging(String packaging) {
		this.packaging = packaging;
	}
	


	public String getAvailableQuantity() {
		return availableQuantity;
	}

	public void setAvailableQuantity(String availableQuantity) {
		this.availableQuantity = availableQuantity;
	}


}